/* =============================================
 * Project: fsutil
 * =============================================
 * Package: com.pti.fsc.common.vo
 *
 *
 * Copyright 2017 Premium Technology, Inc. All rights reserved.
 * PremiumIT PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 * WWW: http://www.premiumIT.com
 * Contact us: info@premiumIT.com
 * =============================================
 */
package com.pti.waf.util.ui;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * @author llu
 * 
 */
public class GridConfig implements Serializable {
	private static final long serialVersionUID = -8224425907015318580L;
	/*
	 * the class name in style sheet
	 */
	private String gridClass;
	/**
	 * the class name in style sheet when the type is button
	 */
	private String btnClass;
	/*
	 * the class name in style sheet
	 */
	private String labelClass;
	/*
	 * the class name in style sheet
	 */
	private String inputClass;
	/*
	 * grid name
	 */
	private String name;
	/*
	 * grid lable
	 */
	private String label;
	/*
	 * grid field name
	 */
	private String model;
	/*
	 * grid type
	 */
	private String type;
	/*
	 * when type = table/innerTable
	 */
	private TableConfig tableConfig;
	/*
	 * grid width: (size/12)%
	 */
	private Integer size;
	/*
	 * readonly
	 */
	private String readonly;
	/*
	 * column format filter and format name(ie. dateFormat: 'dfmtTimestamp')
	 */
	private String filter;
	/*
	 * column format name or filed name(ie. ##,##0 or invoiceCcy)
	 */
	private String format;
	/*
	 * grid options: string or ComponentOptions
	 */
	private Object options;
	/*
	 * grid pattern options: string or ComponentOptions
	 */
	private Object patternOptions;
	/*
	 * grid placeholder
	 */
	private String placeholder;
	/*
	 * grid tooltip
	 */
	private String tooltip;

	private String help;
	
	/*
	 * a expression: true: active group(field will be submit and show), false: inactive group(field will not be submit and hidden)
	 */
	private String active;
	/*
	 * a expression: true: show group(field will be shown), false: hidden group(field will not be shown)
	 */
	private String show;

	/*
	 * id, siteCode, serviceCode, catogory, subCategory, name, type
	 */
	private Map<String, String> dynamicParameter;
	/*
	 * a expression: true: (field value will be uppercase, default is true)
	 */
	private Boolean uppercase = true;
	
	private String prefix;
	
	/*
	 * comparable when verify 
	 */
	private Boolean comparable;
	
	private String tooltipPlacement;
	
	private List<Map<String,Object>> ruleInfos;
	
	private ButtonConfig buttonsConfig;
	//when the gridConfig has property 'active' the default Value can reset the value if active == false.
	private String defaultValue;
	
	private String template;
	
	private String text;
	
	private String textAlign;
	
	private Integer height;
	
	/**table config field begin**/
	private Object enableAutoResize;
	private Integer enableVerticalScrollbar;
	private Integer enableHorizontalScrollbar;
	private Integer minRowsToShow;
	private Boolean enableColumnResizing;
	private Boolean enablePagination ;
	private Boolean enableColumnMoving;
	private Boolean enableSorting;
	private Boolean selectAll;
	private Boolean allowSelectedValid;
	/**table config field end**/
	
	public String getGridClass() {
		return gridClass;
	}

	public void setGridClass(String gridClass) {
		this.gridClass = gridClass;
	}

	public String getLabelClass() {
		return labelClass;
	}

	public void setLabelClass(String labelClass) {
		this.labelClass = labelClass;
	}

	public String getInputClass() {
		return inputClass;
	}

	public void setInputClass(String inputClass) {
		this.inputClass = inputClass;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getLabel() {
		return label;
	}

	public void setLabel(String label) {
		this.label = label;
	}

	public String getModel() {
		return model;
	}

	public void setModel(String model) {
		this.model = model;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public TableConfig getTableConfig() {
		return tableConfig;
	}

	public void setTableConfig(TableConfig tableConfig) {
		this.tableConfig = tableConfig;
	}

	public Integer getSize() {
		return size;
	}

	public void setSize(Integer size) {
		this.size = size;
	}

	public String getReadonly() {
		return readonly;
	}

	public void setReadonly(String readonly) {
		this.readonly = readonly;
	}

	public String getFilter() {
		return filter;
	}

	public void setFilter(String filter) {
		this.filter = filter;
	}

	public String getFormat() {
		return format;
	}

	public void setFormat(String format) {
		this.format = format;
	}

	public Object getOptions() {
		return options;
	}

	public void setOptions(Object options) {
		this.options = options;
	}

	public Object getPatternOptions() {
		return patternOptions;
	}

	public void setPatternOptions(Object patternOptions) {
		this.patternOptions = patternOptions;
	}

	public String getPlaceholder() {
		return placeholder;
	}

	public void setPlaceholder(String placeholder) {
		this.placeholder = placeholder;
	}

	public String getTooltip() {
		return tooltip;
	}

	public void setTooltip(String tooltip) {
		this.tooltip = tooltip;
	}

	public String getActive() {
		return active;
	}

	public void setActive(String active) {
		this.active = active;
	}

	public String getShow() {
		return show;
	}

	public void setShow(String show) {
		this.show = show;
	}

	public Map<String, String> getDynamicParameter() {
		return dynamicParameter;
	}

	public void setDynamicParameter(Map<String, String> dynamicParameter) {
		this.dynamicParameter = dynamicParameter;
	}

	public Boolean getUppercase() {
		return uppercase;
	}

	public void setUppercase(Boolean uppercase) {
		this.uppercase = uppercase;
	}

	public String getPrefix() {
		return prefix;
	}

	public void setPrefix(String prefix) {
		this.prefix = prefix;
	}

	public Boolean getComparable() {
		return comparable;
	}

	public void setComparable(Boolean comparable) {
		this.comparable = comparable;
	}

	public String getHelp() {
		return help;
	}

	public void setHelp(String help) {
		this.help = help;
	}

	public String getTooltipPlacement() {
		return tooltipPlacement;
	}

	public void setTooltipPlacement(String tooltipPlacement) {
		this.tooltipPlacement = tooltipPlacement;
	}

	public List<Map<String, Object>> getRuleInfos() {
		return ruleInfos;
	}

	public void setRuleInfos(List<Map<String, Object>> ruleInfos) {
		this.ruleInfos = ruleInfos;
	}

	public ButtonConfig getButtonsConfig() {
		return buttonsConfig;
	}

	public void setButtonsConfig(ButtonConfig buttonsConfig) {
		this.buttonsConfig = buttonsConfig;
	}

	public String getDefaultValue() {
		return defaultValue;
	}

	public void setDefaultValue(String defaultValue) {
		this.defaultValue = defaultValue;
	}

	public String getTemplate() {
		return template;
	}

	public void setTemplate(String template) {
		this.template = template;
	}

	public String getText() {
		return text;
	}

	public void setText(String text) {
		this.text = text;
	}

	public String getTextAlign() {
		return textAlign;
	}

	public void setTextAlign(String textAlign) {
		this.textAlign = textAlign;
	}

	public Integer getHeight() {
		return height;
	}

	public void setHeight(Integer height) {
		this.height = height;
	}

	public Object getEnableAutoResize() {
		return enableAutoResize;
	}

	public void setEnableAutoResize(Object enableAutoResize) {
		this.enableAutoResize = enableAutoResize;
	}

	public Integer getEnableVerticalScrollbar() {
		return enableVerticalScrollbar;
	}

	public void setEnableVerticalScrollbar(Integer enableVerticalScrollbar) {
		this.enableVerticalScrollbar = enableVerticalScrollbar;
	}

	public Integer getEnableHorizontalScrollbar() {
		return enableHorizontalScrollbar;
	}

	public void setEnableHorizontalScrollbar(Integer enableHorizontalScrollbar) {
		this.enableHorizontalScrollbar = enableHorizontalScrollbar;
	}

	public Integer getMinRowsToShow() {
		return minRowsToShow;
	}

	public void setMinRowsToShow(Integer minRowsToShow) {
		this.minRowsToShow = minRowsToShow;
	}

	public Boolean getEnableColumnResizing() {
		return enableColumnResizing;
	}

	public void setEnableColumnResizing(Boolean enableColumnResizing) {
		this.enableColumnResizing = enableColumnResizing;
	}

	public Boolean getEnablePagination() {
		return enablePagination;
	}

	public void setEnablePagination(Boolean enablePagination) {
		this.enablePagination = enablePagination;
	}

	public Boolean getEnableColumnMoving() {
		return enableColumnMoving;
	}

	public void setEnableColumnMoving(Boolean enableColumnMoving) {
		this.enableColumnMoving = enableColumnMoving;
	}

	public Boolean getEnableSorting() {
		return enableSorting;
	}

	public void setEnableSorting(Boolean enableSorting) {
		this.enableSorting = enableSorting;
	}

	public Boolean getSelectAll() {
		return selectAll;
	}

	public void setSelectAll(Boolean selectAll) {
		this.selectAll = selectAll;
	}

	public Boolean getAllowSelectedValid() {
		return allowSelectedValid;
	}

	public void setAllowSelectedValid(Boolean allowSelectedValid) {
		this.allowSelectedValid = allowSelectedValid;
	}

	public String getBtnClass() {
		return btnClass;
	}

	public void setBtnClass(String btnClass) {
		this.btnClass = btnClass;
	}
	
}
